using CsvSerializer;

namespace LWObjects
{
    internal class OrderableTestProxy
    {
        [CsvField(FieldIndex = 0)]
        public string SegID
        {
            get { return "OC"; }
        }

        [CsvField(FieldIndex = 1)]
        public string IntTestId { get; set; }

        [CsvField(FieldIndex = 2)]
        public string ExtTestId { get; set; }

        [CsvField(FieldIndex = 3)]
        public string Name { get; set; }

        [CsvField(FieldIndex = 4)]
        public string ActiveDate
        {
            get { return ""; }
        }

        [CsvField(FieldIndex = 5)]
        public string InactiveDate
        {
            get { return ""; }
        }

        [CsvField(FieldIndex = 6)]
        public string CptCodes
        {
            get { return ""; }
        }

        [CsvField(FieldIndex = 7)]
        public string NotOrderable { get; set; }

        [CsvField(FieldIndex = 8)]
        public string Lab { get; set; }

        [CsvField(FieldIndex = 9)]
        public string TestCategory { get; set; }

        [CsvField(FieldIndex = 10)]
        public string TestAccessionType { get; set; }

        [CsvField(FieldIndex = 11)]
        public string IsMisc
        {
            get { return "N"; }
        }

        [CsvField(FieldIndex = 12)]
        public string IsProfile { get; set; }

        [CsvField(FieldIndex = 13)]
        public string ProfileRepType
        {
            get { return ""; }
        }

        [CsvField(FieldIndex = 14)]
        public string AutoBundle
        {
            get { return ""; }
        }

        [CsvField(FieldIndex = 15)]
        public string CheckDupes
        {
            get { return ""; }
        }

        [CsvField(FieldIndex = 16)]
        public string FilterLab
        {
            get { return ""; }
        }

        [CsvField(FieldIndex = 17)]
        public string Freq
        {
            get { return ""; }
        }

        [CsvField(FieldIndex = 18)]
        public string Mnemonics
        {
            get { return ""; }
        }

        [CsvField(FieldIndex = 19)]
        public string Questions
        {
            get { return ""; }
        }

        [CsvField(FieldIndex = 20)]
        public string ResultCodes { get; set; }

        [CsvField(FieldIndex = 21)]
        public string ListPrice { get; set; }

        [CsvField(FieldIndex = 22)]
        public string ReportSeq
        {
            get { return ""; }
        }

        [CsvField(FieldIndex = 23)]
        public string RequireSeparateLabOrder { get; set; }

        [CsvField(FieldIndex = 24)]
        public string EquivalentTest
        {
            get { return ""; }
        }

        [CsvField(FieldIndex = 25)]
        public string Billable { get; set; }

        [CsvField(FieldIndex = 26)]
        public string AutoSelectComponents
        {
            get { return "N"; }
        }

        [CsvField(FieldIndex = 27)]
        public string Stat
        {
            get { return "N"; }
        }

        [CsvField(FieldIndex = 28)]
        public string AutoPrintIfNormal
        {
            get { return "N"; }
        }

        [CsvField(FieldIndex = 29)]
        public string PageBreakReport { get; set; }

        [CsvField(FieldIndex = 30)]
        public string DiscreteResultsFormat
        {
            get { return "0"; }
        }

        [CsvField(FieldIndex = 31)]
        public string ScheduledTest { get; set; }

        [CsvField(FieldIndex = 32)]
        public string AbnFailureReason
        {
            get { return ""; }
        }

        [CsvField(FieldIndex = 33)]
        public string ForceAutoPrintReports { get; set; }

        [CsvField(FieldIndex = 34)]
        public string AbnPrice { get; set; }

        [CsvField(FieldIndex = 35)]
        public string OtherInstuctions
        {
            get { return ""; }
        }

        [CsvField(FieldIndex = 36)]
        public string ForceTestSeparateAccession { get; set; }

        [CsvField(FieldIndex = 37)]
        public string ProfileComponents { get; set; }

        [CsvField(FieldIndex = 38)]
        public string CollectionInstructions
        {
            get { return ""; }
        }

        [CsvField(FieldIndex = 39)]
        public string ClinicalUtility
        {
            get { return ""; }
        }

        [CsvField(FieldIndex = 40)]
        public string PermissibleOrderingDelayDur
        {
            get { return ""; }
        }

        [CsvField(FieldIndex = 41)]
        public string PermissibleOrderingDelayOpt
        {
            get { return ""; }
        }

        [CsvField(FieldIndex = 42)]
        public string PopupAtEntry
        {
            get { return ""; }
        }

        [CsvField(FieldIndex = 43)]
        public string IsPathology { get; set; }
    }
}